﻿using System;
using CalcSharp.Core.Containers;

namespace CalcSharp.Core.Memory
{
    /*
     * Memory Dump zip file structure:
     *  Dumpfile.zip
     *   | - float
     *         |-variable.bin
     *   | - cplx
     *         |-variable.bin
     *   | - mtrx
     *         |-variable.bin
     *   | - set
     *         |-variable.bin
     *   | - string
     *         |-variable.bin
     *   | - function
     *         |-function.bin
     *   | - dump.bin
     */

    public enum DumpDataType
    {
        Float, Complex, Matrix, Set, Function, String
    }

    [Serializable]
    public class MemoryDumpInfo
    {
        private DateTime taketime;
        private Version v;
        public MtrxStorageType MatrixStorage;
        public SetStorageType SetStorage;
        public DateTime Date
        {
            get { return taketime; }
        }
        public Version Version
        {
            get { return this.v; }
        }
        public MemoryDumpInfo()
        {
            this.taketime = DateTime.Now;
            this.v = new Version(1, 0, 0, 0);
        }
    }
}
